package cn.iocoder.yudao.module.design.controller.admin.node.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
* 任务节点信息 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class NodeBaseVO {

    @Schema(description = "流程id")
    private Long flowId;
    @Schema(description = "节点名称")
    private String nodeName;
    /**
     * 供应商ID
     */
    @Schema(description = "供应商ID")
    private Long  workId;

    @Schema(description = "房屋id")
    private Long houseId;

    @Schema(description = "设计人id")
    private Long designerId;

    @Schema(description = "处理人id")
    private Long dealerId;

    @Schema(description = "任务内容")
    private String contentCd;

    @Schema(description = "归属的前置任务id")
    private Long preId;

    @Schema(description = "后置任务ids")
    private String nextIds;

    @Schema(description = "实施前置ids")
    private String mustIds;

    @Schema(description = "任务状态,0-新建，1-就绪，2-进行中，3-挂起，4-实施完成")
    private String statusCd;

    @Schema(description = "费用")
    private Long cost;

    @Schema(description = "图片id")
    private Long picId;

    @Schema(description = "节点描述")
    private String remark;

    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date startTime;

    @Schema(description = "完成时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date finishTime;

    @Schema(description = "创建者")
    private String creator;

    @Schema(description = "更新者")
    private String updater;

    /**
     * 是否存在checkList
     */
    @Schema(description = "是否存在checkList")
    private String isCheckList;

    @Schema(description = "预计工期")
    private Integer  days;


    @Schema(description = "预处理角色")
    private String  preRoleId;
}
